$color:#b532e9;

@mixin city-layout {
  .title {
    height: 8vw;
    line-height: 8vw;
    padding-left: 2.5vw;
    background: #F2F2F2;
  }
  .city-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 5px 30px 5px 5px;
    box-sizing: border-box;
    .city-wrapper {
      width: calc(100% / 3);
      .city-name {
        padding: 5px 0;
        border: 1px solid #ccc;
        border-radius: 2.5px;
        margin: 5px;
        color: $color;
        text-align: center;
      }
      .loc-city { border: 1px solid $color; };
    }
  }
}

.city-container {
  display: flex;
  flex-direction: column;
  .city-search {
    display: flex;
    align-items: center;
    height: 2.3rem;
    margin: 2vw 4vw;
    padding: 0 1.5vw;
    background: #F7F8FA;
    border-radius: 8px;
    .search-icon { flex-basis: 3%; }
    input {
      flex: 1;
      margin: 0 1.5vw;
      font-size: 14px;
      background: #F7F8FA;
    }
    .clear-icon { color: #999; }
  }
  .city-box {
    position: relative;
    flex: 1;
    overflow: hidden;
    .content-scroll {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      .location-city {
        @include city-layout;
      }
      .hot-city {
        @include city-layout;
      }
      .more-city {
        .title {
          height: 8vw;
          line-height: 8vw;
          padding-left: 2.5vw;
          background: #F2F2F2;
        }
        .city-list {
          box-sizing: border-box;
          border-bottom: 1px solid #F2F2F2;
          .city-name {
            height: 10.5vw;
            line-height: 10.5vw;
            padding-left: 10px;
            font-size: 13px;
          }
        }
        & :last-child { border: none; }
      }
      .search-list {
        .search-item {
          height: 10.5vw;
          line-height: 10.5vw;
          padding-left: 10px;
          box-sizing: border-box;
          border-bottom: 1px solid #F2F2F2;
          font-size: 13px;
        }
        & :last-child { border: none; }
      }
      .null-search {
        text-align: center;
        margin-top: 50px;
        letter-spacing: 2px;
        color: #999;
      }
    }
    .fixed-top {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      background: #f2f2f2;
      .fixed-title {
        height: 8vw;
        line-height: 8vw;
        padding-left: 2.5vw;
      }
    }
  }
}